package com.yuanfengerp.suppliersettlement.dao;


import com.yuanfengerp.suppliersettlement.moudel.SupplierSettlementInfo;
import com.yuanfengerp.suppliersettlement.moudel.SupplierSettlementItemInfo;
import org.apache.ibatis.annotations.Mapper;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Mapper
public interface ISupplierSettlementMapper {
    /**
     * 根据供应商结算ID删除供应商结算信息
     *
     * @param supplier_settlement_ID 供应商结算ID
     * @return 删除影响的行数
     */
    int deleteByPrimaryKey(String supplier_settlement_ID);

    /**
     * 插入供应商结算信息
     *
     * @param supplierSettlementInfo 供应商结算信息对象
     * @return 插入影响的行数
     */
    int insertSupplierSettlement(SupplierSettlementInfo supplierSettlementInfo);

    /**
     * 更新供应商结算信息
     *
     * @param supplierSettlementInfo 供应商结算信息对象
     * @return 更新影响的行数
     */
    int updateSupplierSettlement(SupplierSettlementInfo supplierSettlementInfo);

    /**
     * 根据供应商结算ID选择供应商结算信息
     *
     * @param supplier_settlement_ID 供应商结算ID
     * @return 供应商结算信息对象
     */
    SupplierSettlementInfo selectSupplierSettlementByPrimaryKey(String supplier_settlement_ID);

    /**
     * 选择所有的供应商结算信息
     *
     * @return 供应商结算信息列表
     */
    List<SupplierSettlementInfo> selectAllSupplierSettlement();

    /**
     * 根据参数选择供应商结算信息
     *
     * @param params 查询参数键值对
     * @return 供应商结算信息列表
     */
    List<SupplierSettlementInfo> selectSupplierSettlement(Map<String, Object> params);

    /**
     * 批量删除供应商结算信息
     *
     * @param supplier_settlement_IDs 供应商结算ID列表
     * @return 删除影响的行数
     */
    int batchdelete(ArrayList<String> supplier_settlement_IDs);

    /**
     * 批量审核供应商结算信息
     *
     * @param supplier_settlement_IDs 供应商结算ID列表
     * @return 更新影响的行数
     */
    int batchreview(ArrayList<String> supplier_settlement_IDs);
    //连表新增
    int insertSupplierSettlementItemInfo(SupplierSettlementItemInfo supplierSettlementItemInfo);
    //连表查询
    SupplierSettlementInfo selectSupplierSettlementItemInfo(String supplier_settlement_ID);
}
